在thinkphp中使用验证码很容易,只要调用thinkphp现有的方法就可以。当然,php的GD库肯定是要开的(就是在php.ini中要加载gd模块)。thinkphp 3.1 ---------------------------------------------------------------------------------首先,在写Action文件,如:IndexAction.class.php. display(); } //检验验证码是否正确 public function verifyCheck() { //防止页面乱码 header('Content-type:text/html;charset=utf-8'); if (md5($_POST['verifyTest']) != Session::get('verify')) { echo '验证码错误'; } else { echo '验证码正确'; } } // 生成验证码 public function verify() { import("ORG.Util.Image"); Image::buildImageVerify(); } } ?>在对应的模板文件:Tpl\default\index目录下新建文件verifyTest.html,内容如下:
thinkphp 3.2 -----------------------------------------------------------------------------首先,在写Controllers文件,如:IndexController.class.php.HomeController 是继承 Controller 的父级控制器 也可以直接继承 Controller 在Home文件加下:Home\Common\function.php 添加 一个检测验证码的封装函数
check($code, $id); } ?>
display(); } // 生成验证码 public function verify() { $arr = array( 'imageW' => 130, //验证码显示的款地 'imageH' => 34, //验证码显示的高度 'fontSize'=>18, //验证码字体大小 'length' => 4, //验证码位数 'useNoise'=>false, //关闭验证码杂点 true 开启 'useCurve'=>false, //关闭验证码曲线 true 开启 'bg' => array(228,238,238) //设置背景色 ); $verify = new \Think\Verify($arr); $verify->entry(); } //校验验证码 public function verifyCheck() { //防止页面乱码 header('Content-type:text/html;charset=utf-8'); $verify = I("post.verify"); $result = check_verify($verify); if ($result) { echo "验证通过!"; exit; } else { echo "验证码错误!"; exit; } } }?>在对应的模板文件:Views\Index\目录下新建文件index.html,内容如下: